home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 4 / Gold Medal Software - Volume 4 (Gold Medal) (1994).iso / archive / crush11.arj / README < prev    next >
Text File  |  1994-08-01  |  13KB  |  250 lines

  1.    __________________________________________________________________________
  2.  
  3.                 CRUSH v1.1   Readme File
  4.    __________________________________________________________________________
  5.  
  6.    CRUSH  is  a new shareware product  from the same author as  the  awarding
  7.    winning  DOS file manager PocketD Plus ("BEST UTILITY 1992" PsL and  joint
  8.    runner-up  WHAT PC's "BEST UTILITY 1994" with Stacker v4.0 & Dr  Solomon's
  9.    Virus Toolkit). PocketD Plus has been upgraded to v4.1 to support CRUSH.
  10.  
  11.  
  12.    >>>>>>>> WHAT IS CRUSH ?
  13.  
  14.     CRUSH is a compression tool that can work with your existing archiver
  15.     to  dramatically  reduce  the  size  of  archives  created.  In  many
  16.     instances  CRUSH achieves an average 2:1 advantage over PKZIP and 8:1
  17.     over   uncompressed   files.  However  CRUSH  is  neither  slow   nor
  18.     inconvenient  to use. The command-line syntax is essentially  similar
  19.     to PKZIP, but with many powerful extensions.
  20.  
  21.     CRUSH  will  work  with any  of  PKZIP,  ARJ, LHA, ZOO  and  HA.  The
  22.     archivers  PKZIP  and  ARJ  are  Shareware and  require  registration
  23.     payments. LHA, ZOO and HA are Copyrighted Freeware.
  24.  
  25.  
  26.    >>>>>>>> HOW DOES IT WORK ?
  27.  
  28.     The principal behind CRUSH is not new, but is not exploited by common
  29.     archivers.  It  takes  advantage  of  the fact that  big  files  will
  30.     generally  compress better than small files, a property used by  Unix
  31.     users  who  follow the  maxim "always tar before  compress"  (joining
  32.     files  together before compressing). CRUSH will automatically do this
  33.     for  you,  generating a single  file with an extension "CRU" that  it
  34.     compresses  using your chosen archiver (default PKZIP). Extraction of
  35.     files is then very easy: UNCRUSH works in the same way as PKUNZIP.
  36.  
  37.     CRUSH gets the most from this compression trick by taking it one step
  38.     further  and intelligently ordering the files before joining them. It
  39.     does  this by recognising file  types, reading them where needed  (to
  40.     recognise  7  different  compressed  header types), and  orders  them
  41.     accordingly. This yields a very good default fast compression.
  42.  
  43.     Given more time CRUSH can do better by optionally performing a series
  44.     of  trials to squeeze out  extra compression. The algorithm for  this
  45.     uses  an intelligent re-ordering mechanism which analyses the results
  46.     of each intermediate test in order to determine which ordering to try
  47.     next.  This  was  developed over  a  period of 2 years where  it  was
  48.     successfully  used  to reduce the  file size of PocketD Plus  to  the
  49.     absolute  minimum. This technique  allows CRUSH to find near  optimum
  50.     compression  in a few minutes that might take hundreds of years using
  51.     more brute-force methods!
  52.  
  53.  
  54.    >>>>>>>> HOW GOOD IS IT?
  55.  
  56.     Using  CRUSH would not be worthwhile if it yielded a narrow advantage
  57.     over  existing  archivers, but in  many situations it is  capable  of
  58.     delivering  dramatically  better  compression. The results below  are
  59.     genuine  random  tests performed on  files taken from a  250-user  PC
  60.     server and from a publically available CD-ROM.
  61.  
  62.     All  archivers were run with maximum compression, except CRUSH  which
  63.     was  set  to minimum.  The  figures for Stacker and  DoubleSpace  are
  64.     commercially  quoted  performance  figures for comparison,  not  test
  65.     results. All the figures quote the compression ratio in terms of disk
  66.     space  used  rather than actual  file sizes (8k cluster  assumed)  to
  67.     allow comparison with Stacker 4.0. This does not significantly affect
  68.     the  comparison between the other archivers (Figures for ZOO are  not
  69.     quoted as it uses the same compression algorithm as LHA).
  70.  
  71.  
  72.    >>>>>>>> (1) CRUSH at its BEST -- Working with small data files
  73.  
  74.    CRUSH  works best with collections of similar small files. In a block test
  75.    of  128 directories (each compressed  to its own archive) containing  2349
  76.    wordprocessing files (total 33 Megabytes), CRUSH with minimum optimisation
  77.    generated the following average compression ratio, calculated by:
  78.  
  79.    Ratio = (disk space used by uncompressed files)/(space after compression)
  80.  
  81.                                     Ratio
  82.    CRUSH+HA    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  7.95
  83.    CRUSH+PKZIP ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒   7.82
  84.    CRUSH+ARJ   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒               6.16
  85.    CRUSH+LHA   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                    5.46
  86.  
  87.    HA 0.98     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                            4.32
  88.    PKZIP 2.04g ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                             4.11
  89.    ARJ 2.3     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                             4.18
  90.    LHA 2.11    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                             4.12
  91.  
  92.    Stacker 4.0 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                        2.50
  93.    DoubleSpace ▒▒▒▒▒▒▒▒▒▒▒▒▒                                             1.90
  94.    Orig Files  ▒▒▒▒▒▒▒                                                   1.00
  95.  
  96.    CRUSH  clearly  yields a substantial  improvement in all cases. Its  worst
  97.    result  is  with LHA, but  this  is still much better than  any  non-CRUSH
  98.    compression.
  99.  
  100.    >>>>>>>> HOW FAST IS CRUSH ?
  101.  
  102.    These  results  might  be  of  limited  value  if the  cost  in  time  for
  103.    compression  was great. The chart below shows the compression times for  6
  104.    wordprocessing files, totalling 150k on a 486SX25 with a ramdrive:
  105.                                       Seconds
  106.    CRUSH+HA  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 11.04
  107.    CRUSH+ZIP ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                          3.51
  108.    CRUSH+ARJ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                           3.30
  109.    CRUSH+LHA ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                         3.68
  110.    CRUSH+ZOO ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒               8.57
  111.  
  112.    HA 0.98   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 10.98
  113.    PKZIP 2.04▒▒▒▒▒▒▒▒▒▒▒▒                                                2.26
  114.    ARJ 2.3   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                            3.02
  115.    LHA 2.11  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                           3.30
  116.    ZOO 2.1   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                   7.85
  117.  
  118.    From these compression and speed results it can be seem that CRUSH with HA
  119.    0.98 offers the best overall compression, but that CRUSH with PKZIP or ARJ
  120.    does nearly as well, but are both over 3 times faster.
  121.  
  122.    >>>>>>>> (2) CRUSH at its WORST -- Working with large or dissimilar files
  123.  
  124.    CRUSH has the most difficulty when given large or dissimilar files. A good
  125.    example of this might be a Shareware release file which contains a mixture
  126.    of documents, executable and other files. A test with minimum optimisation
  127.    on  40 random archive files from the ASP-CD ROM (17 Megabytes) yielded the
  128.    following results:
  129.  
  130.                                     Ratio
  131.    CRUSH+HA    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  2.84
  132.    CRUSH+ZIP   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒   2.80
  133.  
  134.    HA 0.98     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    2.76
  135.    PKZIP 2.04g ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒     2.70
  136.    ARJ 2.3     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒     2.70
  137.    LHA 2.11    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒      2.66
  138.  
  139.    Stacker 4.0 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒        (2.50)
  140.    Doublespace ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                    (1.90)
  141.    Orig Files  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                      1.00
  142.  
  143.  
  144.    Here,  improved  performance is  somewhat less than the previous  example,
  145.    corresponding  to a 3.7% improvement with PKZIP. Many of the  compressions
  146.    yielded  a 0% improvement because  although the newly compressed file  may
  147.    have  been smaller, it still  occupied the same number of disk  allocation
  148.    units  (clusters). The average improvement in actual file size  (important
  149.    for file downloads) was 5.6% for PKZIP, with a low of 1% and high of 28%.
  150.  
  151.    The  figures  for Stacker  and  DoubleSpace are bracketed as  they  almost
  152.    certainly greatly overestimate their performances in these cases.
  153.  
  154.  
  155.    >>>>>>>> I USE STACKER. IS THERE MERIT IN USING CRUSH ?
  156.  
  157.    On  the  fly  compression  provided  by products such  as  Stacker  offers
  158.    convenient  but low performance compression. Stacker may make your 100  Mb
  159.    drive look like 250 Mb, but CRUSH may make it look like 800 Mb. On the fly
  160.    compression  also has performance penalties  and there is a question  mark
  161.    over its safety.
  162.  
  163.    Of  course, CRUSH can safely be used in conjunction with Stacker to obtain
  164.    the highest possible net space saving.
  165.  
  166.  
  167.    >>>>>>>> IS IT WORTH MY WHILE USING CRUSH ?
  168.  
  169.    If  your PC is loaded with  applications, but little data, then CRUSH  may
  170.    not  help that much. If your  PC or PC server typically holds many  source
  171.    files,  database  files or  wordprocessing documents, then the  advantages
  172.    might  be  enormous.  A beta  test  site  for CRUSH had  vast  numbers  of
  173.    wordprocessing  files  for which CRUSH  was able to achieve a  compression
  174.    ratio of 16:1 where PKZIP had only yielded 6:1.
  175.  
  176.  
  177.    >>>>>>>> ARE THERE ANY DRAWBACKS IN USING CRUSH ?
  178.  
  179.    CRUSH  requires  a  significant  quantity  of temporary  filespace  whilst
  180.    compressing.  In  the  default  mode  it  will typically  need  3.0 Mb  of
  181.    temporary  disk space available in order to compress 2.0 Mb of files.  The
  182.    same  is  true when uncompressing.  To  extract a single 1k file  from  an
  183.    archive that contains 1 Mb will require 1 Mb of temporary file space.
  184.  
  185.    CRUSH  will not allow the user to  update a single file or group of  files
  186.    within  a  CRUSH archive. The  entire archive must be re-created. It  will
  187.    therefore  be less useful to users  who want to regularly update the  same
  188.    archive to reflect frequent changes.
  189.  
  190.    CRUSH is new and therefore many 3rd party programs will not yet be able to
  191.    search  or  view CRUSHed files.  However these will appear, and  the  very
  192.    capable  PocketD Plus v4.1 can already do this, allowing viewing of  files
  193.    inside CRUSH archives with the same ease as any other archive type.
  194.  
  195.  
  196.    >>>>>>>> ARE THERE ANY OTHER ADVANTAGES IN USING CRUSH ?
  197.  
  198.    CRUSH  supports features such as recursive directory searching, storing of
  199.    paths,  archive  comments, file  inclusion/exclusion by name and date,  as
  200.    other archivers. However CRUSH also adds its own special facilities.
  201.  
  202.    1. On-line Selection of Files
  203.     CRUSH  allows the user to select files for archiving from an  on-line
  204.     prompt,  rather than forcing files to be always explicitly  specified
  205.     in  the command-line. This allows the user to issue commands such  as
  206.     "Search  the drive for files matching *.C modified during the last  6
  207.     days and present each matching name for acceptance or rejection".
  208.  
  209.    2. Automatic Archive Name Generation
  210.     CRUSH  has an option  to automatically generate unique archive  names
  211.     based  on the current date and  time. This is an ideal mechanism  for
  212.     creating multiple generation backups.
  213.  
  214.    3. Relative and Backup Date Testing
  215.     Unlike programs such as ARJ and PKZIP, CRUSH allows relative dates to
  216.     be  specified, e.g. "CRUSH -r:-4 BACKUP" will search for and compress
  217.     files modified today or during the previous 4 days. CRUSH also allows
  218.     a  "compress-since-last-backup"  feature  by allowing the  comparison
  219.     with  a named file date and time, e.g. "CRUSH -:.LASTBAC BACKUP" will
  220.     compress files modified since the date and time of the file LASTBAC.
  221.  
  222.    4. Safer Decompression
  223.     UNCRUSH  will  helpfully tell  you  that a file to  be  de-compressed
  224.     already exists, and also if it is older, newer or identical.
  225.  
  226.    5. CRUSH Supports Proper Wildcards
  227.     Unlike  DOS (and PKZIP  etc.), CRUSH supports proper wildcards.  e.g.
  228.     the  DOS  wildcard  *FRED.*  would  match a file  called  JOE!  CRUSH
  229.     correctly  implements  "*" as  any sequence of characters  (including
  230.     none) and "?" as a single character.
  231.  
  232.    6. User-specified Thresholds
  233.     CRUSH  can  be set to  create a conventional archive where it  cannot
  234.     improve by a specified percentage improved compression.
  235.  
  236.    >>>>>>>> HOW DO I COMPARE CRUSH AND PKZIP (OR OTHER) PERFORMANCE ?
  237.  
  238.     CRUSH has a convenient option "-c" which will run the chosen archiver
  239.     as  well as performing a CRUSH archive operation. The results of this
  240.     are displayed as a bar graph (or table, if required).
  241.  
  242.    >>>>>>>> HOW MUCH EXTRA WILL MAXIMUM CRUSH COMPRESSION GIVE ?
  243.  
  244.     The cost in time for turning on extra optimisation in CRUSH is large.
  245.     Adding  the  -f option will  probably increase compression time by  a
  246.     factor  of 5-10 times the default minimum, probably yielding  between
  247.     1%-10%  extra  compression.  However if  you want to compress to  the
  248.     minimum, then you may be happy to leave it overnight with -f200!
  249.  
  250.